c2981d2fd8c13f8ce5ab96bca1247daecf34ca05,languages/xml/xml/source_gen/jetbrains/mps/core/xml/actions/QueriesGenerated.java,QueriesGenerated,sideTransform_ActionsFactory_XmlValuePart_3080189811177408103,#IOperationContext#SideTransformActionsBuilderContext#,400
Before Change
public static List<INodeSubstituteAction> sideTransform_ActionsFactory_XmlValuePart_3080189811177408103(final IOperationContext operationContext, final SideTransformActionsBuilderContext _context) {
List<INodeSubstituteAction> result = ListSequence.fromList(new ArrayList<INodeSubstituteAction>());
{
SNode concept = SConceptOperations.findConceptDeclaration("jetbrains.mps.core.xml.structure.XmlValuePart");
Iterable<SNode> concepts;
concepts = SConceptOperations.getAllSubConcepts(concept, _context.getModel(), operationContext.getScope());
for (final SNode subconcept : concepts) {
if (!(SNodeOperations.isInstanceOf(subconcept, "jetbrains.mps.lang.structure.structure.ConceptDeclaration"))) {
continue;
}
if (SConceptPropertyOperations.getBoolean(subconcept, "abstract")) {
continue;
}
ListSequence.fromList(result).addElement(new AbstractSideTransformHintSubstituteAction(subconcept, _context.getSourceNode()) {
public SNode doSubstitute(String pattern) {
SNode result = SNodeFactoryOperations.createNewNode(NameUtil.nodeFQName(subconcept), null);
return SNodeOperations.insertNextSiblingChild(_context.getSourceNode(), result);
}
});
}
}
return result;
After Change
List<INodeSubstituteAction> result = ListSequence.fromList(new ArrayList<INodeSubstituteAction>());
{
final String[] lastPattern = new String[1];
List<INodeSubstituteAction> list = ModelActions.createChildSubstituteActions(_context.getSourceNode(), null, SConceptOperations.findConceptDeclaration("jetbrains.mps.core.xml.structure.XmlValuePart"), new AbstractChildNodeSetter() {
public SNode doExecute(SNode parentNode, SNode oldChild, SNode newChild, IScope p3) {
return substitute(newChild, lastPattern[0]);
}
private SNode substitute(SNode result, String pattern) {
return SNodeOperations.insertNextSiblingChild(_context.getSourceNode(), result);
}
}, operationContext);
for (final INodeSubstituteAction action : list) {
ListSequence.fromList(result).addElement(new NodeSubstituteActionWrapper(action) {
@Override
public SNode substitute(@Nullable EditorContext context, String pattern) {
lastPattern[0] = pattern;
return super.substitute(context, pattern);
}
});
}
}
return result;